// Package library
// @Title  common.go
// @Description  通用方法分装
// @Author  小斌 (时间 格式是2021/12/02  11:02)
// @Update  小斌 (时间 格式是2021/12/02  11:02)
package library

import (
	"crypto/md5"
	"encoding/hex"
	"encoding/json"
	"regexp"
	"strconv"
)

//VerifyEmailFormat 邮箱验证规则
func VerifyEmailFormat(email string) bool {
	pattern := `^[0-9a-z][_.0-9a-z-]{0,31}@([0-9a-z][0-9a-z-]{0,30}[0-9a-z]\.){1,4}[a-z]{2,4}$`

	reg := regexp.MustCompile(pattern)
	return reg.MatchString(email)
}
//VerifyMobileFormat  手机号验证
func VerifyMobileFormat(mobileNum string) bool {
	regular := "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$"

	reg := regexp.MustCompile(regular)
	return reg.MatchString(mobileNum)
}

//Md5V Md5加密
func Md5V(str string) string {
	h := md5.New()
	h.Write([]byte(str))
	return hex.EncodeToString(h.Sum(nil))
}

//IntArrayToJson 数字数组转json
func IntArrayToJson(arr []int) string{
	Json,_ := json.Marshal(arr)
	jsonString :=string(Json)
	return jsonString
}

//StringArrayToJson 字符串数组转json
func StringArrayToJson(arr []string) string{
	Json,_ := json.Marshal(arr)
	jsonString :=string(Json)
	return jsonString
}

//String2Int 字符串数组转int数组
func String2Int(strArr []string) []int {
	res := make([]int, len(strArr))

	for index, val := range strArr {
		res[index], _ = strconv.Atoi(val)
	}

	return res
}
